package com.wu.javax.servlet;

import java.util.Map;

/**
 * 与协议无关的请求
 *
 * @author 吴磊
 */
public interface ServletRequest {
    /**
     * 获取真实路径
     *
     * @return 真实路径
     */
    String getRealPath();

    /**
     * 获取属性
     */
    Object getAttribute(String key);

    /**
     * 设置属性
     */
    void setAttribute(String key, Object value);

    /**
     * 获取参数   通过    http://localhost:9000/xxx/xxx.jsp?name=a&age=3
     */
    String getParameter(String key);

    /**
     * 获取Map参数
     */
    Map<String, String> getParameterMap();

    /**
     * 解析请求:
     * 1. 解析出uri
     * 2. 解析出参数name, age
     * 3. 解析出请求的方式 get/post/head
     */
    void parseRequest();

    /**
     * 获取服务名称
     */
    String getServerName();

    /**
     * 获取端口号
     */
    int getServerPort();

    /**
     * 获取json参数
     */
    String getJsonParams();
}
